package com.nulldev.util.web.YouTubeExtractor.baltimore;

import com.nulldev.util.VariableAPI.ArrayUtils;
import com.nulldev.util.data.Variables;

public class BaltimoreDevices {

	public static class BaltimoreDevice {
		private final String deviceName, model, id, release;

		public BaltimoreDevice(final String deviceName, final String model, final String id, final String release) {
			this.deviceName = Variables.requireNonNullObject(deviceName, "deviceName");
			this.model = Variables.requireNonNullObject(model, "model");
			this.id = Variables.requireNonNullObject(id, "id");
			this.release = Variables.requireNonNullObject(release, "release");
		}

		public String getDeviceName() {
			return this.deviceName;
		}

		public String getModel() {
			return this.model;
		}

		public String getBuildId() {
			return this.id;
		}

		public String getRelease() {
			return this.release;
		}
	}

	private static final BaltimoreDevice[] DEVICES =
		{
				/* Google Devices */
				new BaltimoreDevice("Pixel 6", "oriole", "SD1A.210817.015.A4", "12"), new BaltimoreDevice("Pixel 6 Pro", "raven", "SD1A.210817.015.A4", "12"),
				new BaltimoreDevice("Pixel 7", "panther", "TD1A.220804.009.A2", "13"),
				new BaltimoreDevice("Pixel 7 Pro", "cheetah", "TD1A.220804.009.A2", "13"), new BaltimoreDevice("Pixel 8", "shiba", "UD1A.230803.022.C1", "14"),
				new BaltimoreDevice("Pixel 8 Pro", "husky", "UD1A.230803.022", "14") };

	public static BaltimoreDevice random() {
		return ArrayUtils.random(DEVICES);
	}
}
